package main

import "fmt"

//类型断言
func main() {
	var a interface{} //定义一个空接口变量
	a = 100
	//如何判断a保存的值得具体类型是什么
	//类型断言
	//1.  x.(T)
	fmt.Printf("%T \n", a)
	v, ok := a.(int8)
	if ok {
		fmt.Println(v)
		return
	} else {
		fmt.Println("未知")
	}
	//2. switch
	switch a.(type) {
	case int:
		fmt.Println("int")
	case int8:
		fmt.Println("int8")
	case int16:
		fmt.Println("int16")
	case int32:
		fmt.Println("int32")
	case int64:
		fmt.Println("int64")
	case string:
		fmt.Println("string")
	case byte:
		fmt.Println("byte")
	default:
		fmt.Println("未知")
	}

}
